package com.leetcode;

public class Leetcode231 {
    /**
     * // solution 1: 暴力法，不断的除以2，直到最后一位结果是1
     * public boolean isPowerOfTwo(int n) {
     * while (n % 2 == 0) {
     * n = n / 2;
     * }
     * <p>
     * return (n == 1) ;
     * }
     */
    //soluton 2: 一个数 n 是 2 的幂，当且仅当 n 是正整数，并且 n 的二进制表示中仅包含 1 个 1。
    public boolean isPowerOfTwo(int n) {
        if (n <= 0) {
            return false;
        }

        return (n & (n - 1)) == 0;
    }

    public static void main(String[] args) {
        Leetcode231 leetcode231 = new Leetcode231();
        System.out.println(leetcode231.isPowerOfTwo(9));
    }
}
